# tasks  --> broker --> worker

#进行Celery允许配置
# 为celery使用django配置文件进行设置
import os
if not os.getenv('DJANGO_SETTINGS_MODULE'):
    os.environ['DJANGO_SETTINGS_MODULE'] = 'mall.settings'

# 1.创建一个celery实例对象
# 2.通过celery的配置文件来设置broker
# 3.celery自动检测任务
from celery import Celery

# main 一般设置为脚本名字
# main 也可以不设置
app = Celery('celery_tasks')

# 参数：文件的路径
app.config_from_object('celery_tasks.config')

# 自动检测任务
# 参数:[] 每一项就是对应的 celery_tasks_sms
app.autodiscover_tasks(['celery_tasks.sms','celery_tasks.email'])

# worker执行是在虚拟环境中 通过指令等待 broker 分配

# 命令格式：celery -A 脚本路径.celery实例所对应的文件 worker -l info
# celery -A celery_tasks.main worker -l info